/*
 * @lc app=leetcode.cn id=977 lang=typescript
 *
 * [977] 有序数组的平方
 */

// @lc code=start
// 居然最简单的 es6 不会超时。。。。
function sortedSquares(nums: number[]): number[] {
    return nums.map((i) => i ** 2).sort((a, b) => a - b);
}
// 超时版本....
// function sortedSquares(nums: number[]): number[] {
//     let stack: number[] = [];
//     let result: number[] = [];
//     for (let i = 0; i < nums.length; i++) {
//         const element = nums[i] ** 2;
//         if (nums[i] < 0) {
//             stack.push(element);
//         } else {
//             while (
//                 typeof stack[stack.length - 1] === "number" &&
//                 element > stack[stack.length - 1]
//             ) {
//                 result.push(stack.pop()!);
//             }
//             result.push(element);
//         }
//         console.log(stack, result);
//     }
//     while (stack.length) {
//         result.push(stack.pop()!);
//     }
//     return result;
// }
// @lc code=end
